home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 October: Mac OS SDK / Dev.CD Oct 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / PInterfaces / Script.p < prev    next >
Encoding:
Text File  |  1997-08-12  |  41.6 KB  |  949 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Script.p
  3.  
  4.      Contains:    Script Manager interfaces
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0.1
  8.  
  9.      Copyright:    © 1986-1997 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT Script;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __SCRIPT__}
  28. {$SETC __SCRIPT__ := 1}
  29.  
  30. {$I+}
  31. {$SETC ScriptIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __TYPES__}
  35. {$I Types.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __QUICKDRAW__}
  38. {$I Quickdraw.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __INTLRESOURCES__}
  41. {$I IntlResources.p}
  42. {$ENDC}
  43. {$IFC UNDEFINED __EVENTS__}
  44. {$I Events.p}
  45. {$ENDC}
  46.  
  47.  
  48. {$PUSH}
  49. {$ALIGN MAC68K}
  50. {$LibExport+}
  51.  
  52.  
  53. CONST
  54.                                                                 {  Script System constants  }
  55.     smSystemScript                = -1;                            { designates system script. }
  56.     smCurrentScript                = -2;                            { designates current font script. }
  57.     smAllScripts                = -3;                            { designates any script     }
  58.  
  59.     smRoman                        = 0;                            { Roman }
  60.     smJapanese                    = 1;                            { Japanese }
  61.     smTradChinese                = 2;                            { Traditional Chinese }
  62.     smKorean                    = 3;                            { Korean }
  63.     smArabic                    = 4;                            { Arabic }
  64.     smHebrew                    = 5;                            { Hebrew }
  65.     smGreek                        = 6;                            { Greek }
  66.     smCyrillic                    = 7;                            { Cyrillic }
  67.     smRSymbol                    = 8;                            { Right-left symbol }
  68.     smDevanagari                = 9;                            { Devanagari }
  69.     smGurmukhi                    = 10;                            { Gurmukhi }
  70.     smGujarati                    = 11;                            { Gujarati }
  71.     smOriya                        = 12;                            { Oriya }
  72.     smBengali                    = 13;                            { Bengali }
  73.     smTamil                        = 14;                            { Tamil }
  74.     smTelugu                    = 15;                            { Telugu }
  75.     smKannada                    = 16;                            { Kannada/Kanarese }
  76.     smMalayalam                    = 17;                            { Malayalam }
  77.  
  78.     smSinhalese                    = 18;                            { Sinhalese }
  79.     smBurmese                    = 19;                            { Burmese }
  80.     smKhmer                        = 20;                            { Khmer/Cambodian }
  81.     smThai                        = 21;                            { Thai }
  82.     smLaotian                    = 22;                            { Laotian }
  83.     smGeorgian                    = 23;                            { Georgian }
  84.     smArmenian                    = 24;                            { Armenian }
  85.     smSimpChinese                = 25;                            { Simplified Chinese }
  86.     smTibetan                    = 26;                            { Tibetan }
  87.     smMongolian                    = 27;                            { Mongolian }
  88.     smGeez                        = 28;                            { Geez/Ethiopic }
  89.     smEthiopic                    = 28;                            { Synonym for smGeez }
  90.     smEastEurRoman                = 29;                            { Synonym for smSlavic }
  91.     smCentralEuroRoman            = 29;                            {  another synonym  }
  92.     smVietnamese                = 30;                            { Vietnamese }
  93.     smExtArabic                    = 31;                            { extended Arabic }
  94.     smUninterp                    = 32;                            { uninterpreted symbols, e.g. palette symbols }
  95.     smKlingon                    = 32;                            { Klingon }
  96.                                                                 { Obsolete names for script systems (kept for backward compatibility) }
  97.     smChinese                    = 2;                            { (use smTradChinese or smSimpChinese) }
  98.     smRussian                    = 7;                            { (old name for smCyrillic) }
  99.                                                                 {  smMaldivian = 25;         (no more smMaldivian!) }
  100.     smAmharic                    = 28;                            { (old name for smGeez) }
  101.     smSlavic                    = 29;                            { (old name for smEastEurRoman) }
  102.     smSindhi                    = 31;                            { (old name for smExtArabic) }
  103.  
  104.                                                                 {  Language Codes  }
  105.     langEnglish                    = 0;                            {  smRoman script  }
  106.     langFrench                    = 1;                            {  smRoman script  }
  107.     langGerman                    = 2;                            {  smRoman script  }
  108.     langItalian                    = 3;                            {  smRoman script  }
  109.     langDutch                    = 4;                            {  smRoman script  }
  110.     langSwedish                    = 5;                            {  smRoman script  }
  111.     langSpanish                    = 6;                            {  smRoman script  }
  112.     langDanish                    = 7;                            {  smRoman script  }
  113.     langPortuguese                = 8;                            {  smRoman script  }
  114.     langNorwegian                = 9;                            {  smRoman script  }
  115.     langHebrew                    = 10;                            {  smHebrew script  }
  116.     langJapanese                = 11;                            {  smJapanese script  }
  117.     langArabic                    = 12;                            {  smArabic script  }
  118.     langFinnish                    = 13;                            {  smRoman script  }
  119.     langGreek                    = 14;                            {  should be smGreek script; current systems actually use smRoman (11/95)  }
  120.     langIcelandic                = 15;                            {  variant smRoman script  }
  121.     langMaltese                    = 16;                            {  variant smRoman script  }
  122.     langTurkish                    = 17;                            {  variant smRoman script  }
  123.     langCroatian                = 18;                            {  Serbo-Croatian in variant Roman script  }
  124.     langTradChinese                = 19;                            {  Chinese in traditional characters  }
  125.  
  126.     langUrdu                    = 20;                            {  smArabic script  }
  127.     langHindi                    = 21;                            {  smDevanagari script  }
  128.     langThai                    = 22;                            {  smThai script  }
  129.     langKorean                    = 23;                            {  smKorean script  }
  130.     langLithuanian                = 24;                            {  smCentralEuroRoman script  }
  131.     langPolish                    = 25;                            {  smCentralEuroRoman script  }
  132.     langHungarian                = 26;                            {  smCentralEuroRoman script  }
  133.     langEstonian                = 27;                            {  smCentralEuroRoman script  }
  134.     langLettish                    = 28;                            {  smCentralEuroRoman script  }
  135.     langLatvian                    = 28;                            {  Synonym for langLettish  }
  136.     langSaamisk                    = 29;                            {  lang. of the Sami/Lapp people of Scand. (11/95, no current script supports this)  }
  137.     langFaeroese                = 30;                            {  smRoman script  }
  138.     langFarsi                    = 31;                            {  smArabic script  }
  139.     langPersian                    = 31;                            {  Synonym for langFarsi  }
  140.     langRussian                    = 32;                            {  smCyrillic script  }
  141.     langSimpChinese                = 33;                            {  Chinese in simplified characters  }
  142.     langFlemish                    = 34;                            {  smRoman script  }
  143.     langIrish                    = 35;                            {  smRoman script  }
  144.     langAlbanian                = 36;                            {  smRoman script  }
  145.  
  146.     langRomanian                = 37;                            {  variant smRoman script (11/95) <22>  }
  147.     langCzech                    = 38;                            {  smCentralEuroRoman script  }
  148.     langSlovak                    = 39;                            {  smCentralEuroRoman script  }
  149.     langSlovenian                = 40;                            {  uses Croatian variant of smRoman script (11/95) <22>  }
  150.     langYiddish                    = 41;                            {  smHebrew script  }
  151.     langSerbian                    = 42;                            {  Serbo-Croatian in smCyrillic script  }
  152.     langMacedonian                = 43;                            {  smCyrillic script  }
  153.     langBulgarian                = 44;                            {  variant smCyrillic script (11/95) <22>  }
  154.     langUkrainian                = 45;                            {  variant smCyrillic script (11/95) <22>  }
  155.     langByelorussian            = 46;                            {  smCyrillic script  }
  156.     langUzbek                    = 47;                            {  variant smCyrillic script (11/95) <22>  }
  157.     langKazakh                    = 48;                            {  variant smCyrillic script (11/95) <22>  }
  158.     langAzerbaijani                = 49;                            {  Azerbaijani in variant smCyrillic script (11/95) <22>  }
  159.     langAzerbaijanAr            = 50;                            {  Azerbaijani in smArabic script (Iran)  }
  160.     langArmenian                = 51;                            {  smArmenian script  }
  161.     langGeorgian                = 52;                            {  smGeorgian script  }
  162.     langMoldavian                = 53;                            {  smCyrillic script  }
  163.     langKirghiz                    = 54;                            {  variant smCyrillic script (11/95) <22>  }
  164.     langTajiki                    = 55;                            {  variant smCyrillic script (11/95) <22>  }
  165.     langTurkmen                    = 56;                            {  variant smCyrillic script (11/95) <22>  }
  166.  
  167.     langMongolian                = 57;                            {  Mongolian in smMongolian script  }
  168.     langMongolianCyr            = 58;                            {  Mongolian in variant smCyrillic script (11/95) <22>  }
  169.     langPashto                    = 59;                            {  smExtArabic script (11/95) <22>  }
  170.     langKurdish                    = 60;                            {  smArabic script  }
  171.     langKashmiri                = 61;                            {  smExtArabic script (11/95) <22>  }
  172.     langSindhi                    = 62;                            {  smExtArabic script (11/95) <22>  }
  173.     langTibetan                    = 63;                            {  smTibetan script  }
  174.     langNepali                    = 64;                            {  smDevanagari script  }
  175.     langSanskrit                = 65;                            {  smDevanagari script  }
  176.     langMarathi                    = 66;                            {  smDevanagari script  }
  177.     langBengali                    = 67;                            {  smBengali script  }
  178.     langAssamese                = 68;                            {  smBengali script  }
  179.     langGujarati                = 69;                            {  smGujarati script  }
  180.     langPunjabi                    = 70;                            {  smGurmukhi script  }
  181.     langOriya                    = 71;                            {  smOriya script  }
  182.     langMalayalam                = 72;                            {  smMalayalam script  }
  183.     langKannada                    = 73;                            {  smKannada script  }
  184.     langTamil                    = 74;                            {  smTamil script  }
  185.     langTelugu                    = 75;                            {  smTelugu script  }
  186.     langSinhalese                = 76;                            {  smSinhalese script  }
  187.  
  188.     langBurmese                    = 77;                            {  smBurmese script  }
  189.     langKhmer                    = 78;                            {  smKhmer script  }
  190.     langLao                        = 79;                            {  smLaotian script  }
  191.     langVietnamese                = 80;                            {  smVietnamese script  }
  192.     langIndonesian                = 81;                            {  smRoman script  }
  193.     langTagalog                    = 82;                            {  smRoman script  }
  194.     langMalayRoman                = 83;                            {  Malay in smRoman script  }
  195.     langMalayArabic                = 84;                            {  Malay in smArabic script  }
  196.     langAmharic                    = 85;                            {  smEthiopic script  }
  197.     langTigrinya                = 86;                            {  smEthiopic script  }
  198.     langGalla                    = 87;                            {  smEthiopic script  }
  199.     langOromo                    = 87;                            {  Synonym for langGalla  }
  200.     langSomali                    = 88;                            {  smRoman script  }
  201.     langSwahili                    = 89;                            {  smRoman script  }
  202.     langKinyarwanda                = 90;                            {  smRoman script  }
  203.     langRuanda                    = 90;                            {  synonym for langKinyarwanda  }
  204.     langRundi                    = 91;                            {  smRoman script  }
  205.     langNyanja                    = 92;                            {  smRoman script  }
  206.     langChewa                    = 92;                            {  synonym for langNyanja  }
  207.     langMalagasy                = 93;                            {  smRoman script  }
  208.     langEsperanto                = 94;                            {  extended Roman script  }
  209.     langWelsh                    = 128;                            {  smRoman script  }
  210.  
  211.     langBasque                    = 129;                            {  smRoman script  }
  212.     langCatalan                    = 130;                            {  smRoman script  }
  213.     langLatin                    = 131;                            {  smRoman script  }
  214.     langQuechua                    = 132;                            {  smRoman script  }
  215.     langGuarani                    = 133;                            {  smRoman script  }
  216.     langAymara                    = 134;                            {  smRoman script  }
  217.     langTatar                    = 135;                            {  smCyrillic script  }
  218.     langUighur                    = 136;                            {  smArabic script  }
  219.     langDzongkha                = 137;                            {  (lang of Bhutan) smTibetan script  }
  220.     langJavaneseRom                = 138;                            {  Javanese in smRoman script  }
  221.     langSundaneseRom            = 139;                            {  Sundanese in smRoman script  }
  222.     langGalician                = 140;                            {  smRoman script  }
  223.     langAfricaans                = 141;                            {  smRoman script  }
  224.                                                                 {  Obsolete names, kept for backward compatibility  }
  225.     langPortugese                = 8;                            {  old misspelled version, kept for compatibility  }
  226.     langMalta                    = 16;                            {  old misspelled version, kept for compatibility  }
  227.     langYugoslavian                = 18;                            {  (use langCroatian, langSerbian, etc.)  }
  228.     langChinese                    = 19;                            {  (use langTradChinese or langSimpChinese)  }
  229.     langLapponian                = 29;                            {  Synonym for langSaamisk, not correct name  }
  230.     langLappish                    = 29;                            {  Synonym for langSaamisk  }
  231.  
  232.                                                                 {  Regional version codes  }
  233.     verUS                        = 0;
  234.     verFrance                    = 1;
  235.     verBritain                    = 2;
  236.     verGermany                    = 3;
  237.     verItaly                    = 4;
  238.     verNetherlands                = 5;
  239.     verFrBelgiumLux                = 6;                            {  French for Belgium & Luxembourg  }
  240.     verSweden                    = 7;
  241.     verSpain                    = 8;
  242.     verDenmark                    = 9;
  243.     verPortugal                    = 10;
  244.     verFrCanada                    = 11;
  245.     verNorway                    = 12;
  246.  
  247.     verIsrael                    = 13;
  248.     verJapan                    = 14;
  249.     verAustralia                = 15;
  250.     verArabic                    = 16;                            {  synonym for verArabia  }
  251.     verFinland                    = 17;
  252.     verFrSwiss                    = 18;                            {  French Swiss  }
  253.     verGrSwiss                    = 19;                            {  German Swiss  }
  254.     verGreece                    = 20;
  255.     verIceland                    = 21;
  256.     verMalta                    = 22;
  257.     verCyprus                    = 23;
  258.     verTurkey                    = 24;
  259.     verYugoCroatian                = 25;                            {  Croatian system for Yugoslavia  }
  260.     verNetherlandsComma            = 26;
  261.     verBelgiumLuxPoint            = 27;
  262.     verCanadaComma                = 28;
  263.     verCanadaPoint                = 29;
  264.     vervariantPortugal            = 30;
  265.     vervariantNorway            = 31;
  266.     vervariantDenmark            = 32;
  267.     verIndiaHindi                = 33;                            {  Hindi system for India  }
  268.     verPakistan                    = 34;
  269.     verTurkishModified            = 35;
  270.     verItalianSwiss                = 36;
  271.     verRomania                    = 39;
  272.     verGreekAncient                = 40;
  273.     verLithuania                = 41;
  274.     verPoland                    = 42;
  275.     verHungary                    = 43;
  276.     verEstonia                    = 44;
  277.     verLatvia                    = 45;
  278.  
  279.     verLapland                    = 46;
  280.     verFaeroeIsl                = 47;
  281.     verIran                        = 48;
  282.     verRussia                    = 49;
  283.     verIreland                    = 50;                            {  English-language version for Ireland  }
  284.     verKorea                    = 51;
  285.     verChina                    = 52;
  286.     verTaiwan                    = 53;
  287.     verThailand                    = 54;
  288.     verCzech                    = 56;
  289.     verSlovak                    = 57;
  290.     verGenericFE                = 58;
  291.     verMagyar                    = 59;
  292.     verBengali                    = 60;
  293.     verByeloRussian                = 61;
  294.     verUkrania                    = 62;
  295.     verUkraine                    = 62;
  296.     verAlternateGr                = 64;
  297.     verCroatia                    = 68;
  298.     verBrazil                    = 71;
  299.     verBulgaria                    = 72;
  300.     verCatalonia                = 73;
  301.  
  302.     minCountry                    = 0;
  303.     maxCountry                    = 73;                            {  changed from verCroatia when additional enums added  }
  304.  
  305. { Obsolete region code names, kept for backward compatibility }
  306.     verBelgiumLux                = 6;                            {  (use verFrBelgiumLux instead, less ambiguous)  }
  307.     verArabia                    = 16;
  308.     verYugoslavia                = 25;                            {  (use verYugoCroatian instead, less ambiguous)  }
  309.     verIndia                    = 33;                            {  (use verIndiaHindi instead, less ambiguous)  }
  310.  
  311.                                                                 {  Calendar Codes  }
  312.     calGregorian                = 0;
  313.     calArabicCivil                = 1;
  314.     calArabicLunar                = 2;
  315.     calJapanese                    = 3;
  316.     calJewish                    = 4;
  317.     calCoptic                    = 5;
  318.     calPersian                    = 6;
  319.  
  320.                                                                 {  Integer Format Codes  }
  321.     intWestern                    = 0;
  322.     intArabic                    = 1;
  323.     intRoman                    = 2;
  324.     intJapanese                    = 3;
  325.     intEuropean                    = 4;
  326.     intOutputMask                = $8000;
  327.  
  328.                                                                 {  CharByte byte types  }
  329.     smSingleByte                = 0;
  330.     smFirstByte                    = -1;
  331.     smLastByte                    = 1;
  332.     smMiddleByte                = 2;
  333.  
  334.                                                                 {  CharType field masks  }
  335.     smcTypeMask                    = $000F;
  336.     smcReserved                    = $00F0;
  337.     smcClassMask                = $0F00;
  338.     smcOrientationMask            = $1000;                        { two-byte script glyph orientation }
  339.     smcRightMask                = $2000;
  340.     smcUpperMask                = $4000;
  341.     smcDoubleMask                = $8000;
  342.  
  343.                                                                 {  Basic CharType character types  }
  344.     smCharPunct                    = $0000;
  345.     smCharAscii                    = $0001;
  346.     smCharEuro                    = $0007;
  347.     smCharExtAscii                = $0007;                        {  More correct synonym for smCharEuro  }
  348.                                                                 {  Additional CharType character types for script systems  }
  349.     smCharKatakana                = $0002;                        { Japanese Katakana }
  350.     smCharHiragana                = $0003;                        { Japanese Hiragana }
  351.     smCharIdeographic            = $0004;                        { Hanzi, Kanji, Hanja }
  352.     smCharTwoByteGreek            = $0005;                        { 2-byte Greek in Far East systems }
  353.     smCharTwoByteRussian        = $0006;                        { 2-byte Cyrillic in Far East systems }
  354.     smCharBidirect                = $0008;                        { Arabic/Hebrew }
  355.     smCharContextualLR            = $0009;                        { Contextual left-right: Thai, Indic scripts }
  356.     smCharNonContextualLR        = $000A;                        { Non-contextual left-right: Cyrillic, Greek }
  357.     smCharHangul                = $000C;                        { Korean Hangul }
  358.     smCharJamo                    = $000D;                        { Korean Jamo }
  359.     smCharBopomofo                = $000E;                        { Chinese Bopomofo }
  360.     smCharGanaKana                = $000F;                        { Shared for Japanese Hiragana & Katakana }
  361.                                                                 {  old names for some of above, for backward compatibility  }
  362.     smCharFISKana                = $0002;                        { Katakana }
  363.     smCharFISGana                = $0003;                        { Hiragana }
  364.     smCharFISIdeo                = $0004;                        { Hanzi, Kanji, Hanja }
  365.  
  366.     smCharFISGreek                = $0005;                        { 2-byte Greek in Far East systems }
  367.     smCharFISRussian            = $0006;                        { 2-byte Cyrillic in Far East systems }
  368.                                                                 {  CharType classes for punctuation (smCharPunct)  }
  369.     smPunctNormal                = $0000;
  370.     smPunctNumber                = $0100;
  371.     smPunctSymbol                = $0200;
  372.     smPunctBlank                = $0300;                        {  Additional CharType classes for punctuation in two-byte systems  }
  373.     smPunctRepeat                = $0400;                        {  repeat marker  }
  374.     smPunctGraphic                = $0500;                        {  line graphics  }
  375.                                                                 {  CharType Katakana and Hiragana classes for two-byte systems  }
  376.     smKanaSmall                    = $0100;                        { small kana character }
  377.     smKanaHardOK                = $0200;                        { can have dakuten }
  378.     smKanaSoftOK                = $0300;                        { can have dakuten or han-dakuten }
  379.                                                                 {  CharType Ideographic classes for two-byte systems  }
  380.     smIdeographicLevel1            = $0000;                        { level 1 char }
  381.     smIdeographicLevel2            = $0100;                        { level 2 char }
  382.     smIdeographicUser            = $0200;                        { user char }
  383.                                                                 {  old names for above, for backward compatibility  }
  384.     smFISClassLvl1                = $0000;                        { level 1 char }
  385.     smFISClassLvl2                = $0100;                        { level 2 char }
  386.     smFISClassUser                = $0200;                        { user char }
  387.                                                                 {  CharType Jamo classes for Korean systems  }
  388.     smJamoJaeum                    = $0000;                        { simple consonant char }
  389.     smJamoBogJaeum                = $0100;                        { complex consonant char }
  390.     smJamoMoeum                    = $0200;                        { simple vowel char }
  391.     smJamoBogMoeum                = $0300;                        { complex vowel char }
  392.  
  393.                                                                 {  CharType glyph orientation for two-byte systems  }
  394.     smCharHorizontal            = $0000;                        {  horizontal character form, or for both  }
  395.     smCharVertical                = $1000;                        {  vertical character form  }
  396.                                                                 {  CharType directions  }
  397.     smCharLeft                    = $0000;
  398.     smCharRight                    = $2000;                        {  CharType case modifers  }
  399.     smCharLower                    = $0000;
  400.     smCharUpper                    = $4000;                        {  CharType character size modifiers (1 or multiple bytes).  }
  401.     smChar1byte                    = $0000;
  402.     smChar2byte                    = $8000;
  403.  
  404.                                                                 {  TransliterateText target types for Roman  }
  405.     smTransAscii                = 0;                            { convert to ASCII }
  406.     smTransNative                = 1;                            { convert to font script }
  407.     smTransCase                    = $FE;                            { convert case for all text }
  408.     smTransSystem                = $FF;                            { convert to system script }
  409.                                                                 {  TransliterateText target types for two-byte scripts  }
  410.     smTransAscii1                = 2;                            { 1-byte Roman }
  411.     smTransAscii2                = 3;                            { 2-byte Roman }
  412.     smTransKana1                = 4;                            { 1-byte Japanese Katakana }
  413.     smTransKana2                = 5;                            { 2-byte Japanese Katakana }
  414.  
  415.     smTransGana2                = 7;                            { 2-byte Japanese Hiragana (no 1-byte Hiragana) }
  416.     smTransHangul2                = 8;                            { 2-byte Korean Hangul }
  417.     smTransJamo2                = 9;                            { 2-byte Korean Jamo }
  418.     smTransBopomofo2            = 10;                            { 2-byte Chinese Bopomofo }
  419.                                                                 {  TransliterateText target modifiers  }
  420.     smTransLower                = $4000;                        { target becomes lowercase }
  421.     smTransUpper                = $8000;                        { target becomes uppercase }
  422.                                                                 {  TransliterateText resource format numbers  }
  423.     smTransRuleBaseFormat        = 1;                            { Rule based trsl resource format  }
  424.     smTransHangulFormat            = 2;                            { Table based Hangul trsl resource format }
  425.                                                                 {  TransliterateText property flags  }
  426.     smTransPreDoubleByting        = 1;                            { Convert all text to double byte before transliteration }
  427.     smTransPreLowerCasing        = 2;                            { Convert all text to lower case before transliteration }
  428.  
  429.                                                                 {  TransliterateText source mask - general  }
  430.     smMaskAll                    = $FFFFFFFF;                    { Convert all text }
  431.                                                                 {  TransliterateText source masks  }
  432.     smMaskAscii                    = $00000001;                    { 2^smTransAscii }
  433.     smMaskNative                = $00000002;                    { 2^smTransNative }
  434.                                                                 {  TransliterateText source masks for two-byte scripts  }
  435.     smMaskAscii1                = $00000004;                    { 2^smTransAscii1 }
  436.     smMaskAscii2                = $00000008;                    { 2^smTransAscii2 }
  437.     smMaskKana1                    = $00000010;                    { 2^smTransKana1 }
  438.     smMaskKana2                    = $00000020;                    { 2^smTransKana2 }
  439.     smMaskGana2                    = $00000080;                    { 2^smTransGana2 }
  440.     smMaskHangul2                = $00000100;                    { 2^smTransHangul2 }
  441.     smMaskJamo2                    = $00000200;                    { 2^smTransJamo2 }
  442.     smMaskBopomofo2                = $00000400;                    { 2^smTransBopomofo2 }
  443.  
  444.                                                                 {  Result values from GetScriptManagerVariable and SetScriptManagerVariable calls.  }
  445.     smNotInstalled                = 0;                            { routine not available in script }
  446.     smBadVerb                    = -1;                            { Bad verb passed to a routine }
  447.     smBadScript                    = -2;                            { Bad script code passed to a routine }
  448.  
  449.                                                                 {  Values for script redraw flag.  }
  450.     smRedrawChar                = 0;                            { Redraw character only }
  451.     smRedrawWord                = 1;                            { Redraw entire word (2-byte systems) }
  452.     smRedrawLine                = -1;                            { Redraw entire line (bidirectional systems) }
  453.  
  454.                                                                 {  GetScriptManagerVariable and SetScriptManagerVariable verbs  }
  455.     smVersion                    = 0;                            { Script Manager version number }
  456.     smMunged                    = 2;                            { Globals change count }
  457.     smEnabled                    = 4;                            { Count of enabled scripts, incl Roman }
  458.     smBidirect                    = 6;                            { At least one bidirectional script }
  459.     smFontForce                    = 8;                            { Force font flag }
  460.     smIntlForce                    = 10;                            { Force intl flag }
  461.     smForced                    = 12;                            { Script was forced to system script }
  462.     smDefault                    = 14;                            { Script was defaulted to Roman script }
  463.     smPrint                        = 16;                            { Printer action routine }
  464.     smSysScript                    = 18;                            { System script }
  465.     smLastScript                = 20;                            { Last keyboard script }
  466.     smKeyScript                    = 22;                            { Keyboard script }
  467.     smSysRef                    = 24;                            { System folder refNum }
  468.     smKeyCache                    = 26;                            { obsolete }
  469.     smKeySwap                    = 28;                            { Swapping table handle }
  470.     smGenFlags                    = 30;                            { General flags long }
  471.     smOverride                    = 32;                            { Script override flags }
  472.     smCharPortion                = 34;                            { Ch vs SpExtra proportion }
  473.                                                                 {  New for System 7.0:  }
  474.     smDoubleByte                = 36;                            { Flag for double-byte script installed }
  475.     smKCHRCache                    = 38;                            { Returns pointer to KCHR cache }
  476.     smRegionCode                = 40;                            { Returns current region code (verXxx) }
  477.     smKeyDisableState            = 42;                            { Returns current keyboard disable state }
  478.  
  479.                                                                 {  GetScriptVariable and SetScriptVariable verbs.  }
  480.                                                                 {  Note: Verbs private to script systems are negative, while  }
  481.                                                                 {  those general across script systems are non-negative.  }
  482.     smScriptVersion                = 0;                            { Script software version }
  483.     smScriptMunged                = 2;                            { Script entry changed count }
  484.     smScriptEnabled                = 4;                            { Script enabled flag }
  485.     smScriptRight                = 6;                            { Right to left flag }
  486.     smScriptJust                = 8;                            { Justification flag }
  487.     smScriptRedraw                = 10;                            { Word redraw flag }
  488.     smScriptSysFond                = 12;                            { Preferred system font }
  489.     smScriptAppFond                = 14;                            { Preferred Application font }
  490.     smScriptBundle                = 16;                            { Beginning of itlb verbs }
  491.     smScriptNumber                = 16;                            { Script itl0 id }
  492.     smScriptDate                = 18;                            { Script itl1 id }
  493.     smScriptSort                = 20;                            { Script itl2 id }
  494.     smScriptFlags                = 22;                            { flags word }
  495.     smScriptToken                = 24;                            { Script itl4 id }
  496.     smScriptEncoding            = 26;                            { id of optional itl5, if present }
  497.     smScriptLang                = 28;                            { Current language for script }
  498.  
  499.     smScriptNumDate                = 30;                            { Script Number/Date formats. }
  500.     smScriptKeys                = 32;                            { Script KCHR id }
  501.     smScriptIcon                = 34;                            { ID # of SICN or kcs#/kcs4/kcs8 suite }
  502.     smScriptPrint                = 36;                            { Script printer action routine }
  503.     smScriptTrap                = 38;                            { Trap entry pointer }
  504.     smScriptCreator                = 40;                            { Script file creator }
  505.     smScriptFile                = 42;                            { Script file name }
  506.     smScriptName                = 44;                            { Script name }
  507.                                                                 {  There is a hole here for old Kanji private verbs 46-76  }
  508.                                                                 {  New for System 7.0:  }
  509.     smScriptMonoFondSize        = 78;                            { default monospace FOND (hi) & size (lo) }
  510.     smScriptPrefFondSize        = 80;                            { preferred FOND (hi) & size (lo) }
  511.     smScriptSmallFondSize        = 82;                            { default small FOND (hi) & size (lo) }
  512.     smScriptSysFondSize            = 84;                            { default system FOND (hi) & size (lo) }
  513.     smScriptAppFondSize            = 86;                            { default app FOND (hi) & size (lo) }
  514.     smScriptHelpFondSize        = 88;                            { default Help Mgr FOND (hi) & size (lo) }
  515.     smScriptValidStyles            = 90;                            { mask of valid styles for script }
  516.     smScriptAliasStyle            = 92;                            { style (set) to use for aliases }
  517.  
  518. { special negative verbs for Get/SetScriptVariable that were associated with WorldScriptI }
  519. { move them here to be public }
  520.                                                                 {  WorldScript private verbs  }
  521.     smLayoutCache                = -309;                            {  HiWrd(param) is # entries, LoWrd is max input length  }
  522.     smOldVerbSupport            = -311;                            {  param is added to old verbs to map to WSI verb }
  523.     smSetKashidas                = -291;                            {  param is ON or OFF, old verb = -36 }
  524.     smSetKashProp                = -287;                            {  param is kashida proportion, old verb = -32 }
  525.     smScriptSysBase                = -281;                            {  param is associated font to use w/ system font (old verb = -26) }
  526.     smScriptAppBase                = -283;                            {  param is associated font to use w/ app font (old verb = -28) }
  527.     smScriptFntBase                = -285;                            {  param is associated font to use w/ all other fonts (old verb = -30) }
  528.     smScriptLigatures            = -263;                            {  old verb = -8 }
  529.     smScriptNumbers                = -267;                            {  old verb = -12 }
  530.  
  531.                                                                 {  Special script code values for International Utilities  }
  532.     iuSystemScript                = -1;                            {  <obsolete>  system script  }
  533.     iuCurrentScript                = -2;                            {  <obsolete>  current script (for font of grafPort)  }
  534.  
  535.                                                                 {  Negative verbs for KeyScript  }
  536.     smKeyNextScript                = -1;                            {  Switch to next available script  }
  537.     smKeySysScript                = -2;                            {  Switch to the system script  }
  538.     smKeySwapScript                = -3;                            {  Switch to previously-used script  }
  539.                                                                 {  New for System 7.0:  }
  540.     smKeyNextKybd                = -4;                            {  Switch to next keyboard in current keyscript  }
  541.     smKeySwapKybd                = -5;                            {  Switch to previously-used keyboard in current keyscript  }
  542.     smKeyDisableKybds            = -6;                            {  Disable keyboards not in system or Roman script  }
  543.     smKeyEnableKybds            = -7;                            {  Re-enable keyboards for all enabled scripts  }
  544.     smKeyToggleInline            = -8;                            {  Toggle inline input for current keyscript  }
  545.     smKeyToggleDirection        = -9;                            {  Toggle default line direction (TESysJust)  }
  546.     smKeyNextInputMethod        = -10;                            {  Switch to next input method in current keyscript  }
  547.     smKeySwapInputMethod        = -11;                            {  Switch to last-used input method in current keyscript  }
  548.     smKeyDisableKybdSwitch        = -12;                            {  Disable switching from the current keyboard  }
  549.     smKeySetDirLeftRight        = -15;                            {  Set default line dir to left-right, align left  }
  550.     smKeySetDirRightLeft        = -16;                            {  Set default line dir to right-left, align right  }
  551.     smKeyRoman                    = -17;                            {  Set keyscript to Roman. Does nothing if Roman-only system, unlike KeyScript(smRoman) which forces an update to current default Roman keyboard  }
  552.  
  553.                                                                 {  Bits in the smScriptFlags word  }
  554.                                                                 {   (bits above 8 are non-static)  }
  555.     smsfIntellCP                = 0;                            { Script has intelligent cut & paste }
  556.     smsfSingByte                = 1;                            { Script has only single bytes }
  557.     smsfNatCase                    = 2;                            { Native chars have upper & lower case }
  558.     smsfContext                    = 3;                            { Script is contextual }
  559.     smsfNoForceFont                = 4;                            { Script will not force characters }
  560.     smsfB0Digits                = 5;                            { Script has alternate digits at B0-B9 }
  561.     smsfAutoInit                = 6;                            { Auto initialize the script }
  562.     smsfUnivExt                    = 7;                            { Script is handled by universal extension }
  563.     smsfSynchUnstyledTE            = 8;                            { Script synchronizes for unstyled TE }
  564.     smsfForms                    = 13;                            { Uses contextual forms for letters }
  565.     smsfLigatures                = 14;                            { Uses contextual ligatures }
  566.     smsfReverse                    = 15;                            { Reverses native text, right-left }
  567.                                                                 {  Bits in the smGenFlags long.  }
  568.                                                                 {  First (high-order) byte is set from itlc flags byte.  }
  569.     smfShowIcon                    = 31;                            { Show icon even if only one script }
  570.     smfDualCaret                = 30;                            { Use dual caret for mixed direction text }
  571.     smfNameTagEnab                = 29;                            { Reserved for internal use }
  572.     smfUseAssocFontInfo            = 28;                            { Use the associated font info for FontMetrics calls <48> }
  573.  
  574.                                                                 {  Roman script constants  }
  575.                                                                 {  The following are here for backward compatibility, but should not be used.  }
  576.                                                                 {  This information should be obtained using GetScript.  }
  577.     romanSysFond                = $3FFF;                        { system font id number }
  578.     romanAppFond                = 3;                            { application font id number }
  579.     romanFlags                    = $0007;                        { roman settings }
  580.                                                                 {  Script Manager font equates.  }
  581.     smFondStart                    = $4000;                        { start from 16K }
  582.     smFondEnd                    = $C000;                        { past end of range at 48K }
  583.                                                                 {  Miscellaneous font equates.  }
  584.     smUprHalfCharSet            = $80;                            { first char code in top half of std char set }
  585.  
  586.                                                                 {  Character Set Extensions  }
  587.     diaeresisUprY                = $D9;
  588.     fraction                    = $DA;
  589.     intlCurrency                = $DB;
  590.     leftSingGuillemet            = $DC;
  591.     rightSingGuillemet            = $DD;
  592.     fiLigature                    = $DE;
  593.     flLigature                    = $DF;
  594.     dblDagger                    = $E0;
  595.     centeredDot                    = $E1;
  596.     baseSingQuote                = $E2;
  597.     baseDblQuote                = $E3;
  598.     perThousand                    = $E4;
  599.     circumflexUprA                = $E5;
  600.     circumflexUprE                = $E6;
  601.     acuteUprA                    = $E7;
  602.     diaeresisUprE                = $E8;
  603.     graveUprE                    = $E9;
  604.     acuteUprI                    = $EA;
  605.     circumflexUprI                = $EB;
  606.     diaeresisUprI                = $EC;
  607.     graveUprI                    = $ED;
  608.     acuteUprO                    = $EE;
  609.     circumflexUprO                = $EF;
  610.     appleLogo                    = $F0;
  611.     graveUprO                    = $F1;
  612.     acuteUprU                    = $F2;
  613.     circumflexUprU                = $F3;
  614.     graveUprU                    = $F4;
  615.     dotlessLwrI                    = $F5;
  616.     circumflex                    = $F6;
  617.     tilde                        = $F7;
  618.     macron                        = $F8;
  619.     breveMark                    = $F9;
  620.     overDot                        = $FA;
  621.     ringMark                    = $FB;
  622.     cedilla                        = $FC;
  623.     doubleAcute                    = $FD;
  624.     ogonek                        = $FE;
  625.     hachek                        = $FF;
  626.  
  627.                                                                 {  TokenType values  }
  628.     tokenIntl                    = 4;                            { the itl resource number of the tokenizer }
  629.     tokenEmpty                    = -1;                            { used internally as an empty flag }
  630.  
  631.     tokenUnknown                = 0;                            { chars that do not match a defined token type }
  632.     tokenWhite                    = 1;                            { white space }
  633.     tokenLeftLit                = 2;                            { literal begin }
  634.     tokenRightLit                = 3;                            { literal end }
  635.     tokenAlpha                    = 4;                            { alphabetic }
  636.     tokenNumeric                = 5;                            { numeric }
  637.     tokenNewLine                = 6;                            { new line }
  638.     tokenLeftComment            = 7;                            { open comment }
  639.     tokenRightComment            = 8;                            { close comment }
  640.     tokenLiteral                = 9;                            { literal }
  641.     tokenEscape                    = 10;                            { character escape (e.g. '\' in "\n", "\t") }
  642.     tokenAltNum                    = 11;                            { alternate number (e.g. $B0-B9 in Arabic,Hebrew) }
  643.     tokenRealNum                = 12;                            { real number }
  644.     tokenAltReal                = 13;                            { alternate real number }
  645.     tokenReserve1                = 14;                            { reserved }
  646.     tokenReserve2                = 15;                            { reserved }
  647.     tokenLeftParen                = 16;                            { open parenthesis }
  648.     tokenRightParen                = 17;                            { close parenthesis }
  649.     tokenLeftBracket            = 18;                            { open square bracket }
  650.     tokenRightBracket            = 19;                            { close square bracket }
  651.  
  652.     tokenLeftCurly                = 20;                            { open curly bracket }
  653.     tokenRightCurly                = 21;                            { close curly bracket }
  654.     tokenLeftEnclose            = 22;                            { open guillemet }
  655.     tokenRightEnclose            = 23;                            { close guillemet }
  656.     tokenPlus                    = 24;
  657.     tokenMinus                    = 25;
  658.     tokenAsterisk                = 26;                            { times/multiply }
  659.     tokenDivide                    = 27;
  660.     tokenPlusMinus                = 28;                            { plus or minus symbol }
  661.     tokenSlash                    = 29;
  662.     tokenBackSlash                = 30;
  663.     tokenLess                    = 31;                            { less than symbol }
  664.     tokenGreat                    = 32;                            { greater than symbol }
  665.     tokenEqual                    = 33;
  666.     tokenLessEqual2                = 34;                            { less than or equal, 2 characters (e.g. <=) }
  667.     tokenLessEqual1                = 35;                            { less than or equal, 1 character }
  668.     tokenGreatEqual2            = 36;                            { greater than or equal, 2 characters (e.g. >=) }
  669.     tokenGreatEqual1            = 37;                            { greater than or equal, 1 character }
  670.     token2Equal                    = 38;                            { double equal (e.g. ==) }
  671.     tokenColonEqual                = 39;                            { colon equal }
  672.  
  673.     tokenNotEqual                = 40;                            { not equal, 1 character }
  674.     tokenLessGreat                = 41;                            { less/greater, Pascal not equal (e.g. <>) }
  675.     tokenExclamEqual            = 42;                            { exclamation equal, C not equal (e.g. !=) }
  676.     tokenExclam                    = 43;                            { exclamation point }
  677.     tokenTilde                    = 44;                            { centered tilde }
  678.     tokenComma                    = 45;
  679.     tokenPeriod                    = 46;
  680.     tokenLeft2Quote                = 47;                            { open double quote }
  681.     tokenRight2Quote            = 48;                            { close double quote }
  682.     tokenLeft1Quote                = 49;                            { open single quote }
  683.     tokenRight1Quote            = 50;                            { close single quote }
  684.     token2Quote                    = 51;                            { double quote }
  685.     token1Quote                    = 52;                            { single quote }
  686.     tokenSemicolon                = 53;
  687.     tokenPercent                = 54;
  688.     tokenCaret                    = 55;
  689.     tokenUnderline                = 56;
  690.     tokenAmpersand                = 57;
  691.     tokenAtSign                    = 58;
  692.     tokenBar                    = 59;                            { vertical bar }
  693.  
  694.     tokenQuestion                = 60;
  695.     tokenPi                        = 61;                            { lower-case pi }
  696.     tokenRoot                    = 62;                            { square root symbol }
  697.     tokenSigma                    = 63;                            { capital sigma }
  698.     tokenIntegral                = 64;                            { integral sign }
  699.     tokenMicro                    = 65;
  700.     tokenCapPi                    = 66;                            { capital pi }
  701.     tokenInfinity                = 67;
  702.     tokenColon                    = 68;
  703.     tokenHash                    = 69;                            { e.g. # }
  704.     tokenDollar                    = 70;
  705.     tokenNoBreakSpace            = 71;                            { non-breaking space }
  706.     tokenFraction                = 72;
  707.     tokenIntlCurrency            = 73;
  708.     tokenLeftSingGuillemet        = 74;
  709.     tokenRightSingGuillemet        = 75;
  710.     tokenPerThousand            = 76;
  711.     tokenEllipsis                = 77;
  712.     tokenCenterDot                = 78;
  713.     tokenNil                    = 127;
  714.  
  715.     delimPad                    = -2;                            {  obsolete, misspelled token names kept for backward compatibility  }
  716.     tokenTilda                    = 44;
  717.     tokenCarat                    = 55;
  718.  
  719.                                                                 {  Table selectors for GetItlTable  }
  720.     smWordSelectTable            = 0;                            {  get word select break table from 'itl2'  }
  721.     smWordWrapTable                = 1;                            {  get word wrap break table from 'itl2'  }
  722.     smNumberPartsTable            = 2;                            {  get default number parts table from 'itl4'  }
  723.     smUnTokenTable                = 3;                            {  get unToken table from 'itl4'  }
  724.     smWhiteSpaceList            = 4;                            {  get white space list from 'itl4'  }
  725.     iuWordSelectTable            = 0;                            {  <obsolete>  get word select break table from 'itl2'  }
  726.     iuWordWrapTable                = 1;                            {  <obsolete>  get word wrap break table from 'itl2'  }
  727.     iuNumberPartsTable            = 2;                            {  <obsolete>  get default number parts table from 'itl4'  }
  728.     iuUnTokenTable                = 3;                            {  <obsolete>  get unToken table from 'itl4'  }
  729.     iuWhiteSpaceList            = 4;                            {  <obsolete>  get white space list from 'itl4'  }
  730.  
  731. { end of stuff moved from Packages.h }
  732.     tokenOK                        = 0;                            {  TokenResults  }
  733.     tokenOverflow                = 1;                            {  TokenResults  }
  734.     stringOverflow                = 2;                            {  TokenResults  }
  735.     badDelim                    = 3;                            {  TokenResults  }
  736.     badEnding                    = 4;                            {  TokenResults  }
  737.     crash                        = 5;                            {  TokenResults  }
  738.  
  739.  
  740. TYPE
  741.     TokenResults                        = SInt8;
  742.     CharByteTable                        = PACKED ARRAY [0..255] OF CHAR;
  743.     TokenType                            = INTEGER;
  744.     DelimType                            = ARRAY [0..1] OF TokenType;
  745.     CommentType                            = ARRAY [0..3] OF TokenType;
  746.     TokenRecPtr = ^TokenRec;
  747.     TokenRec = RECORD
  748.         theToken:                TokenType;
  749.         position:                Ptr;                                    { pointer into original source }
  750.         length:                    LONGINT;                                { length of text in original source }
  751.         stringPosition:            StringPtr;                                { Pascal/C string copy of identifier }
  752.     END;
  753.  
  754.     TokenBlockPtr = ^TokenBlock;
  755.     TokenBlock = RECORD
  756.         source:                    Ptr;                                    { pointer to stream of characters }
  757.         sourceLength:            LONGINT;                                { length of source stream }
  758.         tokenList:                Ptr;                                    { pointer to array of tokens }
  759.         tokenLength:            LONGINT;                                { maximum length of TokenList }
  760.         tokenCount:                LONGINT;                                { number tokens generated by tokenizer }
  761.         stringList:                Ptr;                                    { pointer to stream of identifiers }
  762.         stringLength:            LONGINT;                                { length of string list }
  763.         stringCount:            LONGINT;                                { number of bytes currently used }
  764.         doString:                BOOLEAN;                                { make strings & put into StringList }
  765.         doAppend:                BOOLEAN;                                { append to TokenList rather than replace }
  766.         doAlphanumeric:            BOOLEAN;                                { identifiers may include numeric }
  767.         doNest:                    BOOLEAN;                                { do comments nest? }
  768.         leftDelims:                ARRAY [0..1] OF TokenType;
  769.         rightDelims:            ARRAY [0..1] OF TokenType;
  770.         leftComment:            ARRAY [0..3] OF TokenType;
  771.         rightComment:            ARRAY [0..3] OF TokenType;
  772.         escapeCode:                TokenType;                                { escape symbol code }
  773.         decimalCode:            TokenType;
  774.         itlResource:            Handle;                                    { handle to itl4 resource of current script }
  775.         reserved:                ARRAY [0..7] OF LONGINT;                { must be zero! }
  776.     END;
  777.  
  778. FUNCTION GetSysDirection: INTEGER;
  779.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  780.     INLINE $3EB8, $0BAC;
  781.     {$ENDC}
  782. PROCEDURE SetSysDirection(value: INTEGER);
  783.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  784.     INLINE $31DF, $0BAC;
  785.     {$ENDC}
  786. FUNCTION FontScript: INTEGER;
  787.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  788.     INLINE $2F3C, $8200, $0000, $A8B5;
  789.     {$ENDC}
  790. FUNCTION IntlScript: INTEGER;
  791.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  792.     INLINE $2F3C, $8200, $0002, $A8B5;
  793.     {$ENDC}
  794. PROCEDURE KeyScript(code: INTEGER);
  795.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  796.     INLINE $2F3C, $8002, $0004, $A8B5;
  797.     {$ENDC}
  798. FUNCTION IsCmdChar({CONST}VAR event: EventRecord; test: INTEGER): BOOLEAN;
  799.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  800.     INLINE $2F3C, $8206, $FFD0, $A8B5;
  801.     {$ENDC}
  802. FUNCTION FontToScript(fontNumber: INTEGER): INTEGER;
  803.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  804.     INLINE $2F3C, $8202, $0006, $A8B5;
  805.     {$ENDC}
  806. FUNCTION GetScriptManagerVariable(selector: INTEGER): LONGINT;
  807.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  808.     INLINE $2F3C, $8402, $0008, $A8B5;
  809.     {$ENDC}
  810. FUNCTION SetScriptManagerVariable(selector: INTEGER; param: LONGINT): OSErr;
  811.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  812.     INLINE $2F3C, $8206, $000A, $A8B5;
  813.     {$ENDC}
  814. FUNCTION GetScriptVariable(script: INTEGER; selector: INTEGER): LONGINT;
  815.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  816.     INLINE $2F3C, $8404, $000C, $A8B5;
  817.     {$ENDC}
  818. FUNCTION SetScriptVariable(script: INTEGER; selector: INTEGER; param: LONGINT): OSErr;
  819.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  820.     INLINE $2F3C, $8208, $000E, $A8B5;
  821.     {$ENDC}
  822. FUNCTION CharacterByteType(textBuf: Ptr; textOffset: INTEGER; script: ScriptCode): INTEGER;
  823.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  824.     INLINE $2F3C, $C206, $0010, $A8B5;
  825.     {$ENDC}
  826. FUNCTION CharacterType(textBuf: Ptr; textOffset: INTEGER; script: ScriptCode): INTEGER;
  827.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  828.     INLINE $2F3C, $C206, $0012, $A8B5;
  829.     {$ENDC}
  830. FUNCTION TransliterateText(srcHandle: Handle; dstHandle: Handle; target: INTEGER; srcMask: LONGINT; script: ScriptCode): OSErr;
  831.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  832.     INLINE $2F3C, $C20E, $0018, $A8B5;
  833.     {$ENDC}
  834. FUNCTION FillParseTable(VAR table: CharByteTable; script: ScriptCode): BOOLEAN;
  835.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  836.     INLINE $2F3C, $C204, $0022, $A8B5;
  837.     {$ENDC}
  838. FUNCTION GetIntlResource(theID: INTEGER): Handle;
  839.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  840.     INLINE $3F3C, $0006, $A9ED;
  841.     {$ENDC}
  842. PROCEDURE ClearIntlResourceCache;
  843.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  844.     INLINE $3F3C, $0018, $A9ED;
  845.     {$ENDC}
  846. PROCEDURE GetIntlResourceTable(script: ScriptCode; tableCode: INTEGER; VAR itlHandle: Handle; VAR offset: LONGINT; VAR length: LONGINT);
  847.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  848.     INLINE $3F3C, $0024, $A9ED;
  849.     {$ENDC}
  850. FUNCTION GetScriptUtilityAddress(selector: INTEGER; Before: BOOLEAN; script: ScriptCode): UniversalProcPtr;
  851.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  852.     INLINE $2F3C, $C404, $0038, $A8B5;
  853.     {$ENDC}
  854. PROCEDURE SetScriptUtilityAddress(selector: INTEGER; Before: BOOLEAN; routineAddr: UniversalProcPtr; script: ScriptCode);
  855.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  856.     INLINE $2F3C, $C008, $003A, $A8B5;
  857.     {$ENDC}
  858. FUNCTION GetScriptQDPatchAddress(trapNum: INTEGER; Before: BOOLEAN; forPrinting: BOOLEAN; script: ScriptCode): UniversalProcPtr;
  859.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  860.     INLINE $2F3C, $C406, $003C, $A8B5;
  861.     {$ENDC}
  862. PROCEDURE SetScriptQDPatchAddress(trapNum: INTEGER; Before: BOOLEAN; forPrinting: BOOLEAN; routineAddr: UniversalProcPtr; script: ScriptCode);
  863.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  864.     INLINE $2F3C, $C00A, $003E, $A8B5;
  865.     {$ENDC}
  866. PROCEDURE SetIntlResource(refNum: INTEGER; theID: INTEGER; intlHandle: Handle);
  867.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  868.     INLINE $3F3C, $0008, $A9ED;
  869.     {$ENDC}
  870. FUNCTION CharByte(textBuf: Ptr; textOffset: INTEGER): INTEGER;
  871.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  872.     INLINE $2F3C, $8206, $0010, $A8B5;
  873.     {$ENDC}
  874. FUNCTION CharType(textBuf: Ptr; textOffset: INTEGER): INTEGER;
  875.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  876.     INLINE $2F3C, $8206, $0012, $A8B5;
  877.     {$ENDC}
  878. FUNCTION Transliterate(srcHandle: Handle; dstHandle: Handle; target: INTEGER; srcMask: LONGINT): OSErr;
  879.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  880.     INLINE $2F3C, $820E, $0018, $A8B5;
  881.     {$ENDC}
  882. FUNCTION ParseTable(VAR table: CharByteTable): BOOLEAN;
  883.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  884.     INLINE $2F3C, $8204, $0022, $A8B5;
  885.     {$ENDC}
  886. FUNCTION IntlTokenize(tokenParam: TokenBlockPtr): TokenResults;
  887.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  888.     INLINE $2F3C, $8204, $FFFA, $A8B5;
  889.     {$ENDC}
  890. {$IFC OLDROUTINENAMES }
  891. PROCEDURE SetSysJust(newDirection: INTEGER);
  892.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  893.     INLINE $31DF, $0BAC;
  894.     {$ENDC}
  895. FUNCTION GetSysJust: INTEGER;
  896.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  897.     INLINE $3EB8, $0BAC;
  898.     {$ENDC}
  899. FUNCTION Font2Script(fontNumber: INTEGER): INTEGER;
  900.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  901.     INLINE $2F3C, $8202, $0006, $A8B5;
  902.     {$ENDC}
  903. FUNCTION GetEnvirons(selector: INTEGER): LONGINT;
  904.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  905.     INLINE $2F3C, $8402, $0008, $A8B5;
  906.     {$ENDC}
  907. FUNCTION SetEnvirons(selector: INTEGER; param: LONGINT): OSErr;
  908.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  909.     INLINE $2F3C, $8206, $000A, $A8B5;
  910.     {$ENDC}
  911. FUNCTION GetScript(script: INTEGER; verb: INTEGER): LONGINT;
  912.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  913.     INLINE $2F3C, $8404, $000C, $A8B5;
  914.     {$ENDC}
  915. FUNCTION SetScript(script: INTEGER; verb: INTEGER; param: LONGINT): OSErr;
  916.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  917.     INLINE $2F3C, $8208, $000E, $A8B5;
  918.     {$ENDC}
  919. FUNCTION IUGetIntl(theID: INTEGER): Handle;
  920.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  921.     INLINE $3F3C, $0006, $A9ED;
  922.     {$ENDC}
  923. PROCEDURE IUSetIntl(refNum: INTEGER; theID: INTEGER; intlHandle: Handle);
  924.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  925.     INLINE $3F3C, $0008, $A9ED;
  926.     {$ENDC}
  927. PROCEDURE IUClearCache;
  928.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  929.     INLINE $3F3C, $0018, $A9ED;
  930.     {$ENDC}
  931. PROCEDURE IUGetItlTable(script: ScriptCode; tableCode: INTEGER; VAR itlHandle: Handle; VAR offset: LONGINT; VAR length: LONGINT);
  932.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  933.     INLINE $3F3C, $0024, $A9ED;
  934.     {$ENDC}
  935. {$ENDC}  {OLDROUTINENAMES}
  936.  
  937.  
  938.  
  939. {$ALIGN RESET}
  940. {$POP}
  941.  
  942. {$SETC UsingIncludes := ScriptIncludes}
  943.  
  944. {$ENDC} {__SCRIPT__}
  945.  
  946. {$IFC NOT UsingIncludes}
  947.  END.
  948. {$ENDC}
  949.